home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / protocol / standard / scsi / scsi1_do.6 / text0000.txt < prev   
Encoding:
Text File  |  1993-07-14  |  82.2 KB  |  1,628 lines

  1.  
  2.  
  3.  
  4. .fo Section 10                           #
  5. 10. Group 0 Command Descriptions for Printer Devices
  6.  
  7. The Group 0 commands for printer devices shall be as shown in Table 10-1.
  8.  
  9.                                   Table 10-1
  10.                      Group 0 Commands for Printer Devices
  11.  
  12. ==============================================================================
  13. Operation
  14.   Code      Type   Command Name                       Section
  15. ------------------------------------------------------------------------------
  16.    00H       O     TEST UNIT READY                    7.1.1
  17.    01H       V
  18.    02H       V
  19.    03H       M     REQUEST SENSE                      7.1.2
  20.    04H       O     FORMAT                             10.1
  21.    05H       V
  22.    06H       V
  23.    07H       V
  24.    08H       V
  25.    09H       V
  26.    0AH       M     PRINT                              10.2
  27.    0BH       O     SLEW AND PRINT                     10.3
  28.    0CH       V
  29.    0DH       V
  30.    0EH       V
  31.    0FH       V
  32.    10H       O     FLUSH BUFFER                       10.4
  33.    11H       V
  34.    12H       E     INQUIRY                            7.1.3
  35.    13H       V
  36.    14H       O     RECOVER BUFFERED DATA              10.5
  37.    15H       O     MODE SELECT                        10.6
  38.    16H       O     RESERVE UNIT                       10.7.1
  39.    17H       O     RELEASE UNIT                       10.7.2
  40.    18H       O     COPY                               7.1.4
  41.    19H       V
  42.    1AH       O     MODE SENSE                         10.8
  43.    1BH       O     STOP PRINT                         10.9
  44.    1CH       O     RECEIVE DIAGNOSTIC RESULTS         7.1.5
  45.    1DH       O     SEND DIAGNOSTIC                    7.1.6
  46.    1EH       R
  47.    1FH       R
  48. ==============================================================================
  49.  
  50. Key: M  =  Command implementation is mandatory.
  51.      E  =  Command implementation is required for SCSI devices that support 
  52.            device-independent self-configuring software.
  53.      O  =  Command implementation is optional.
  54.      R  =  Operation code is reserved for future standardization.
  55.      V  =  Operation code is available for vendor unique commands.
  56. .pa
  57.  
  58. 10.1 FORMAT Command
  59.  
  60.      Peripheral Device Type:  Printer 
  61.         Operation Code Type:  Optional
  62.              Operation Code:  04H
  63.  
  64.                                   Table 10-2
  65.                                 FORMAT Command
  66.  
  67. ==============================================================================
  68.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  69. Byte |        |        |        |        |        |        |        |        |
  70. ==============================================================================
  71.  0   |                           Operation Code                              | 
  72. -----|-----------------------------------------------------------------------|
  73.  1   | Logical Unit Number      |         Reserved         | Format Type     |
  74. -----|-----------------------------------------------------------------------|
  75.  2   |                           Transfer Length (MSB)                       |
  76. -----|-----------------------------------------------------------------------|
  77.  3   |                           Transfer Length                             |
  78. -----|-----------------------------------------------------------------------|
  79.  4   |                           Transfer Length (LSB)                       |
  80. -----|-----------------------------------------------------------------------|
  81.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  82. ==============================================================================
  83.  
  84.   The FORMAT command (Table 10-2) provides a means for the initiator to 
  85. specify forms or fonts to printers that support programmable forms or fonts.  
  86. The format information sent is vendor unique since it is peripheral-device 
  87. specific.
  88.  
  89.   The format type field specifies the type of format information to be 
  90. transferred from the initiator to the target.  This field is defined as 
  91. follows:
  92.  
  93.    DB(1)  DB(0)    Format Type
  94.    -----  -----    -------------
  95.      0      0      Set Form
  96.      0      1      Set Font
  97.      1      0      Vendor Unique
  98.      1      1      Reserved
  99.  
  100.  
  101.   The transfer length specifies the length in bytes of format information that 
  102. shall be sent during the DATA OUT phase.  A transfer length of zero indicates 
  103. that no format information shall be sent.  This condition shall not be 
  104. considered as an error.
  105. .pa
  106.  
  107. 10.2 PRINT Command
  108.  
  109.      Peripheral Device Type:  Printer 
  110.         Operation Code Type:  Mandatory
  111.              Operation Code:  0AH
  112.  
  113.                                   Table 10-3
  114.                                 PRINT Command
  115.  
  116. ==============================================================================
  117.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  118. Byte |        |        |        |        |        |        |        |        |
  119. ==============================================================================
  120.  0   |                           Operation Code                              | 
  121. -----|-----------------------------------------------------------------------|
  122.  1   | Logical Unit Number      |                  Reserved                  |
  123. -----|-----------------------------------------------------------------------|
  124.  2   |                           Transfer Length (MSB)                       |
  125. -----|-----------------------------------------------------------------------|
  126.  3   |                           Transfer Length                             |
  127. -----|-----------------------------------------------------------------------|
  128.  4   |                           Transfer Length (LSB)                       |
  129. -----|-----------------------------------------------------------------------|
  130.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  131. ==============================================================================
  132.  
  133.   The PRINT command (Table 10-3) transfers the specified number of bytes from 
  134. the initiator to the target to be printed.  The data sent is application 
  135. dependent.
  136.  
  137.   The transfer length specifies the length in bytes of data that shall be sent 
  138. during the DATA OUT phase.  A transfer length of zero indicates that no data 
  139. shall be sent.  This condition shall not be considered as an error.
  140. .pa
  141.  
  142. 10.3 SLEW AND PRINT Command
  143.  
  144.      Peripheral Device Type:  Printer 
  145.         Operation Code Type:  Optional
  146.              Operation Code:  0BH
  147.  
  148.                                   Table 10-4
  149.                             SLEW AND PRINT Command
  150.  
  151. ==============================================================================
  152.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  153. Byte |        |        |        |        |        |        |        |        |
  154. ==============================================================================
  155.  0   |                           Operation Code                              | 
  156. -----|-----------------------------------------------------------------------|
  157.  1   | Logical Unit Number      |                  Reserved         | Channel|
  158. -----|-----------------------------------------------------------------------|
  159.  2   |                           Slew Value                                  |
  160. -----|-----------------------------------------------------------------------|
  161.  3   |                           Transfer Length (MSB)                       |
  162. -----|-----------------------------------------------------------------------|
  163.  4   |                           Transfer Length (LSB)                       |
  164. -----|-----------------------------------------------------------------------|
  165.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  166. ==============================================================================
  167.  
  168.   The SLEW AND PRINT command (Table 10-4) transfers the specified number of 
  169. bytes from the initiator to the target to be printed.  The data sent is 
  170. application dependent.  This command is provided for printers that do not 
  171. support forms control information imbedded within the print data.
  172.  
  173.   The transfer length specifies the length in bytes of data that shall be sent 
  174. during the DATA OUT phase.  A transfer length of zero indicates that no data 
  175. shall be sent.  This condition shall not be considered as an error.
  176.  
  177.   If the channel bit is zero, the slew value specifies the number of lines the 
  178. form shall be advanced before printing.  A value of 255 indicates that the 
  179. form shall be advanced to the first line of the next form before printing.  If 
  180. the channel bit is one, the slew value specifies the forms control channel 
  181. number to which the form shall be advanced prior to printing the data.
  182.  
  183.   If the channel bit is one, and the channel option is not implemented, the 
  184. command shall be terminated with a CHECK CONDITION status and the sense key 
  185. shall be set to ILLEGAL REQUEST.
  186. .pa
  187.  
  188. 10.4 FLUSH BUFFER Command
  189.  
  190.      Peripheral Device Type:  Printer 
  191.         Operation Code Type:  Optional
  192.              Operation Code:  10H
  193.  
  194.                                   Table 10-5
  195.                              FLUSH BUFFER Command
  196.  
  197. ==============================================================================
  198.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  199. Byte |        |        |        |        |        |        |        |        |
  200. ==============================================================================
  201.  0   |                           Operation Code                              | 
  202. -----|-----------------------------------------------------------------------|
  203.  1   | Logical Unit Number      |                  Reserved                  |
  204. -----|-----------------------------------------------------------------------|
  205.  2   |                           Reserved                                    |
  206. -----|-----------------------------------------------------------------------|
  207.  3   |                           Reserved                                    |
  208. -----|-----------------------------------------------------------------------|
  209.  4   |                           Reserved                                    |
  210. -----|-----------------------------------------------------------------------|
  211.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  212. ==============================================================================
  213.  
  214.   The FLUSH BUFFER command (Table 10-5) provides a means for an initiator to 
  215. ensure that the data have been successfully printed prior to releasing the 
  216. peripheral device.  This is useful for applications that wish to handle any 
  217. error or exception conditions (e.g., end-of-medium) prior to termination of 
  218. the application.
  219.  
  220.   When all buffered data are actually printed the command shall be terminated 
  221. with a GOOD status.  If it is not possible to finish printing all of the 
  222. buffered data (due to an error or exception condition on the peripheral 
  223. device), then this command shall be terminated with a CHECK CONDITION status 
  224. and the appropriate sense key.
  225. .pa
  226.  
  227. 10.5 RECOVER BUFFERED DATA Command
  228.  
  229.      Peripheral Device Type:  Printer 
  230.         Operation Code Type:  Optional
  231.              Operation Code:  14H
  232.  
  233.                                   Table 10-6
  234.                         RECOVER BUFFERED DATA Command
  235.  
  236. ==============================================================================
  237.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  238. Byte |        |        |        |        |        |        |        |        |
  239. ==============================================================================
  240.  0   |                           Operation Code                              | 
  241. -----|-----------------------------------------------------------------------|
  242.  1   | Logical Unit Number      |                  Reserved                  |
  243. -----|-----------------------------------------------------------------------|
  244.  2   |                           Transfer Length (MSB)                       |
  245. -----|-----------------------------------------------------------------------|
  246.  3   |                           Transfer Length                             |
  247. -----|-----------------------------------------------------------------------|
  248.  4   |                           Transfer Length (LSB)                       |
  249. -----|-----------------------------------------------------------------------|
  250.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  251. ==============================================================================
  252.  
  253.   The RECOVER BUFFERED DATA command (Table 10-6) returns to the initiator the 
  254. data that has been sent to the target, but not yet printed.
  255.  
  256.   This command is normally used only to recover from error or exception 
  257. conditions that make it impossible to print the buffered data.  The order in 
  258. which the data is transferred from the target to the initiator is the same as 
  259. it was when the data was previously transferred using the PRINT command or 
  260. SLEW AND PRINT command.  Data that is transferred by this command is deleted 
  261. >From the target data buffer.  One or more RECOVER BUFFERED DATA commands may 
  262. be used to return the unprinted buffered data.
  263.  
  264.   If an attempt is made to recover more data than is contained in the buffer, 
  265. the command shall be terminated with a CHECK CONDITION status and the sense 
  266. key shall be set to NO SENSE.  In addition, the EOM, the valid, and the ILI 
  267. bits in extended sense shall be set to one.  The information bytes shall be 
  268. set to the difference (residue) between the transfer length and the actual 
  269. number of bytes returned. 
  270.  
  271.   The transfer length specifies the maximum length in bytes of data that shall 
  272. be transferred during the DATA IN phase.  A transfer length of zero indicates 
  273. that no data shall be transferred.  This condition shall not be considered as 
  274. an error.
  275. .pa
  276.  
  277. 10.6 MODE SELECT Command
  278.  
  279.      Peripheral Device Type:  Printer 
  280.         Operation Code Type:  Optional
  281.              Operation Code:  15H
  282.  
  283.                                   Table 10-7
  284.                              MODE SELECT Command
  285.  
  286. ==============================================================================
  287.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  288. Byte |        |        |        |        |        |        |        |        |
  289. ==============================================================================
  290.  0   |                           Operation Code                              | 
  291. -----|-----------------------------------------------------------------------|
  292.  1   | Logical Unit Number      |                  Reserved                  |
  293. -----|-----------------------------------------------------------------------|
  294.  2   |                           Reserved                                    |
  295. -----|-----------------------------------------------------------------------|
  296.  3   |                           Reserved                                    |
  297. -----|-----------------------------------------------------------------------|
  298.  4   |                           Parameter List Length                       |
  299. -----|-----------------------------------------------------------------------|
  300.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  301. ==============================================================================
  302.  
  303.   The MODE SELECT command (Table 10-7) provides a means for the initiator to 
  304. specify medium, logical unit, or peripheral device parameters to the target.
  305.  
  306.   The parameter list length specifies the length in bytes of the MODE SELECT 
  307. parameter list that shall be transferred during the DATA OUT phase.  A 
  308. parameter list length of zero indicates that no data shall be transferred.  
  309. This condition shall not be considered as an error.  The MODE SELECT parameter 
  310. list (Table 10-8) contains a four-byte header, followed by the vendor unique 
  311. parameters, if any.
  312.  
  313.                                   Table 10-8
  314.                           MODE SELECT Parameter List
  315.  
  316. ==============================================================================
  317.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  318. Byte |        |        |        |        |        |        |        |        |
  319. ==============================================================================
  320.  0   |                           Reserved                                    |
  321. -----|-----------------------------------------------------------------------|
  322.  1   |                           Reserved                                    |
  323. -----|-----------------------------------------------------------------------|
  324.  2   |Reserved|      Buffered Mode       |             Reserved              |
  325. -----|-----------------------------------------------------------------------|
  326.  3   |                           Reserved                                    |
  327. ==============================================================================
  328.      |                        Vendor Unique Parameter(s)                     |
  329. ==============================================================================
  330. 0 _ n|                           Vendor Unique                               |
  331.      |                           Parameter Byte(s)                           |
  332. ==============================================================================
  333.  
  334.  
  335.   A buffered mode of zero indicates that the target shall not report a GOOD 
  336. status on PRINT commands or SLEW AND PRINT commands until the data are 
  337. actually printed.  A buffered mode of one indicates that the target may report 
  338. a GOOD status on PRINT commands or SLEW AND PRINT commands as soon as the data 
  339. have been transferred to the SCSI device buffer.  The data from one or more 
  340. commands may be buffered prior to printing.  Buffered modes of 2H through 7H 
  341. are reserved.
  342.  
  343. 10.7 RESERVE UNIT and RELEASE UNIT Commands
  344.  
  345.      Peripheral Device Type:  Printer
  346.         Operation Code Type:  Optional
  347.              Operation Code:  16H and 17H, respectively
  348.  
  349.                                   Table 10-9
  350.                     RESERVE UNIT and RELEASE UNIT Commands
  351.  
  352. ==============================================================================
  353.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  354. Byte |        |        |        |        |        |        |        |        |
  355. ==============================================================================
  356.  0   |                           Operation Code                              |
  357. -----|-----------------------------------------------------------------------|
  358.  1   | Logical Unit Number      | 3rdPty | Third Party Device ID    |Reserved|
  359. -----|-----------------------------------------------------------------------|
  360.  2   |                           Reserved                                    |
  361. -----|-----------------------------------------------------------------------|
  362.  3   |                           Reserved                                    |
  363. -----|-----------------------------------------------------------------------|
  364.  4   |                           Reserved                                    |
  365. -----|-----------------------------------------------------------------------|
  366.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  367. ==============================================================================
  368.  
  369.   The RESERVE UNIT and RELEASE UNIT commands both use the command descriptor 
  370. block shown in Table 10-9.
  371.  
  372.   10.7.1 RESERVE UNIT Command.  The RESERVE UNIT command (Table 10-9, 
  373. operation code 16H) shall reserve the specified logical unit for the exclusive 
  374. use by the requesting initiator or, if third-party reservation option is 
  375. implemented, to another specified SCSI device.
  376.  
  377.   The reservation shall remain in effect until superceded by another RESERVE 
  378. UNIT command from the initiator that made the reservation or until released by 
  379. a RELEASE UNIT command from the same initiator, or a BUS DEVICE RESET message 
  380. >From any initiator, or a "hard" RESET condition.  The occurrence of the last 
  381. two conditions is indicated by a sense key of UNIT ATTENTION on the next 
  382. command following the condition.  It is not an error to issue this command to 
  383. a logical unit that is currently reserved to the requesting initiator.
  384.  
  385.   If the logical unit is previously reserved by another initiator, then the 
  386. target shall either:
  387.  
  388.   (1)  return a RESERVATION CONFLICT status
  389.  
  390.  
  391.   (2)  queue the reservation request and disconnect until all previously 
  392. queued reservations have been released.  When the logical unit is available, 
  393. the target shall reconnect to perform the reservation
  394.  
  395.   If, after honoring the reservation, any other initiator then subsequently 
  396. attempts to perform any command on the reserved logical unit other than a 
  397. RESERVE UNIT command, which may be queued, or a RELEASE UNIT command, which 
  398. shall be ignored, then the command shall be rejected with a RESERVATION 
  399. CONFLICT status. 
  400.  
  401.   The third-party reservation option for the RESERVE UNIT command allows an 
  402. initiator to reserve a logical unit for another SCSI device.  This option is 
  403. intended for use in multiple-initiator systems that use the COPY command.  Any 
  404. target that implements the third-party reservation option shall also implement 
  405. the third-party release option (see 10.7.2).
  406.  
  407.   If the third-party (3rdPty) bit is zero, then the third-party reservation 
  408. option is not requested.  If the 3rdPty bit is one and the third-party 
  409. reservation option is implemented, then the RESERVE UNIT command shall reserve 
  410. the specified logical unit for the SCSI device specified in the third-party 
  411. device ID field.  The target shall preserve the reservation until superceded 
  412. by another RESERVE UNIT command from the initiator that made the reservation 
  413. or until released by the same initiator, by a BUS DEVICE RESET message from 
  414. any initiator, or by a "hard" RESET condition.  The target shall ignore (i.e., 
  415. return GOOD status) any attempt made by any other initiator to release the 
  416. reservation.
  417.  
  418.   If the 3rdPty bit is one and the third-party reservation option is not 
  419. implemented, then the target shall reject the RESERVE UNIT command with a 
  420. CHECK CONDITION status and a sense key of ILLEGAL REQUEST. 
  421.  
  422.   An initiator that holds a current reservation may modify that reservation 
  423. (e.g., switch third-parties) by issuing another RESERVE UNIT command to the 
  424. same logical unit.  The superceding RESERVE UNIT command shall release the 
  425. previous reservation state only when the new reservation is granted.  A 
  426. superceding reservation takes priority over any previously queued reservation 
  427. request.
  428.  
  429.   10.7.2 RELEASE UNIT Command.  The RELEASE UNIT command (Table 10-9, 
  430. operation code 17H) shall release the logical unit if it is currently reserved 
  431. by the requesting initiator. 
  432.  
  433.   It is not an error to attempt to release a logical unit that is not 
  434. currently reserved to the requesting initiator.  However, it shall not be 
  435. released if it is reserved by another initiator.
  436.  
  437.   The third-party release option for the RELEASE UNIT command allows an 
  438. initiator to release a logical unit that was previously reserved using the 
  439. third-party reservation option (see 10.7.1).  This option shall be implemented 
  440. if the third-party reservation option is implemented.  This option is intended 
  441. for use in multiple-initiator systems that use the COPY command.
  442.  
  443.   If the third-party (3rdPty) bit is zero, then the third-party release option 
  444. is not requested.  If the 3rdPty bit is one and the target implements the 
  445. third-party release option, then the target shall release the specified 
  446. logical unit, but only if the reservation was made using the third-party 
  447.  
  448. reservation option by the initiator that is requesting the release and for the 
  449. same SCSI device as specified in the third-party device ID field.
  450.  
  451.   If the 3rdPty bit is one and the target does not implement the third-party 
  452. release option, then the target shall terminate the command with a CHECK 
  453. CONDITION status and the sense key shall be set to ILLEGAL REQUEST.
  454.  
  455. 10.8 MODE SENSE Command
  456.  
  457.      Peripheral Device Type:  Printer 
  458.         Operation Code Type:  Optional
  459.              Operation Code:  1AH
  460.  
  461.                                  Table 10-10
  462.                               MODE SENSE Command
  463.  
  464. ==============================================================================
  465.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  466. Byte |        |        |        |        |        |        |        |        |
  467. ==============================================================================
  468.  0   |                           Operation Code                              | 
  469. -----|-----------------------------------------------------------------------|
  470.  1   | Logical Unit Number      |                  Reserved                  |
  471. -----|-----------------------------------------------------------------------|
  472.  2   |                           Reserved                                    |
  473. -----|-----------------------------------------------------------------------|
  474.  3   |                           Reserved                                    |
  475. -----|-----------------------------------------------------------------------|
  476.  4   |                           Allocation Length                           |
  477. -----|-----------------------------------------------------------------------|
  478.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  479. ==============================================================================
  480.  
  481.   The MODE SENSE command (Table 10-10) provides a means for a target to report 
  482. its medium, logical unit, or peripheral device parameters to the initiator.  
  483. It is a complementary command to the MODE SELECT command.
  484.  
  485.   The allocation length specifies the number of bytes that the initiator has 
  486. allocated for returned MODE SENSE data.  An allocation length of zero 
  487. indicates that no MODE SENSE data shall be transferred.  This condition shall 
  488. not be considered as an error.   Any other value indicates the maximum number 
  489. of bytes that shall be transferred.  The target shall terminate the DATA IN 
  490. phase when allocation length bytes have been transferred or when all available 
  491. MODE SENSE data have been transferred to the initiator, whichever is less.
  492.  
  493.   The MODE SENSE data (Table 10-11) contains a four-byte header, followed the 
  494. vendor unique parameters, if any.
  495. .pa
  496.  
  497.                                  Table 10-11
  498.                                MODE SENSE Data
  499.  
  500. ==============================================================================
  501.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  502. Byte |        |        |        |        |        |        |        |        |
  503. ==============================================================================
  504.  0   |                           Sense Data Length                           |
  505. -----|-----------------------------------------------------------------------|
  506.  1   |                           Reserved                                    |
  507. -----|-----------------------------------------------------------------------|
  508.  2   |Reserved|      Buffered Mode       |             Reserved              |
  509. -----|-----------------------------------------------------------------------|
  510.  3   |                           Reserved                                    |
  511. ==============================================================================
  512.      |                        Vendor Unique Parameter(s)                     |
  513. ==============================================================================
  514. 0 _ n|                           Vendor Unique                               |
  515.      |                           Parameter Byte(s)                           |
  516. ==============================================================================
  517.  
  518.   The sense data length specifies the length in bytes of the following MODE 
  519. SENSE data that is available to be transferred during the DATA IN phase.  The 
  520. sense data length does not include itself.
  521.  
  522.   A buffered mode of zero indicates that the target does not report a GOOD 
  523. status on PRINT commands or SLEW AND PRINT commands until the data are 
  524. actually printed.  A buffered mode of one indicates that the target may report 
  525. a GOOD status on PRINT commands or SLEW AND PRINT commands as soon as the data 
  526. have been transferred to the SCSI device buffer.  The data from one or more 
  527. commands may be buffered prior to printing.  Buffered modes of 2H through 7H 
  528. are reserved.
  529. .pa
  530.  
  531. 10.9 STOP PRINT Command
  532.  
  533.      Peripheral Device Type:  Printer 
  534.         Operation Code Type:  Optional
  535.              Operation Code:  1BH
  536.  
  537.                                  Table 10-12
  538.                               STOP PRINT Command
  539.  
  540. ==============================================================================
  541.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  542. Byte |        |        |        |        |        |        |        |        |
  543. ==============================================================================
  544.  0   |                           Operation Code                              | 
  545. -----|-----------------------------------------------------------------------|
  546.  1   | Logical Unit Number      |                  Reserved         | Retain |
  547. -----|-----------------------------------------------------------------------|
  548.  2   |                           Vendor Unique                               |
  549. -----|-----------------------------------------------------------------------|
  550.  3   |                           Reserved                                    |
  551. -----|-----------------------------------------------------------------------|
  552.  4   |                           Reserved                                    |
  553. -----|-----------------------------------------------------------------------|
  554.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  555. ==============================================================================
  556.  
  557.   The STOP PRINT command (Table 10-12) is used to halt printing on buffered 
  558. devices in an orderly fashion.
  559.  
  560.   A retain bit of zero requests that the target data buffer be discarded; 
  561. otherwise, the unprinted data is retained.  The unprinted data may be 
  562. recovered by use of the RECOVER BUFFERED DATA command, if supported.  A 
  563. subsequent PRINT command or SLEW AND PRINT command shall cause the remaining 
  564. unprinted and unrecovered data to be printed followed by the data transferred 
  565. by the subsequent command.  The point at which printing is suspended by this 
  566. command is peripheral-device specific and is not defined by this standard.
  567. .pa
  568.  
  569. 
  570. .fo Section 11                           #
  571. 11. Group 0 Command Descriptions for Processor Devices
  572.  
  573. The Group 0 commands for processor devices shall be as shown in Table 11-1.
  574.  
  575.                                   Table 11-1
  576.                     Group 0 Commands for Processor Devices
  577.  
  578. ==============================================================================
  579. Operation
  580.   Code      Type   Command Name                       Section
  581. ------------------------------------------------------------------------------
  582.    00H       O     TEST UNIT READY                    7.1.1
  583.    01H       V
  584.    02H       V
  585.    03H       M     REQUEST SENSE                      7.1.2
  586.    04H       V
  587.    05H       V
  588.    06H       V
  589.    07H       V
  590.    08H       O     RECEIVE                            11.1
  591.    09H       V
  592.    0AH       M     SEND                               11.2
  593.    0BH       V
  594.    0CH       V
  595.    0DH       V
  596.    0EH       V
  597.    0FH       V
  598.    10H       V
  599.    11H       V
  600.    12H       E     INQUIRY                            7.1.3
  601.    13H       V
  602.    14H       V
  603.    15H       V
  604.    16H       V
  605.    17H       V
  606.    18H       O     COPY                               7.1.4
  607.    19H       R
  608.    1AH       R
  609.    1BH       R
  610.    1CH       O     RECEIVE DIAGNOSTIC RESULTS         7.1.5
  611.    1DH       O     SEND DIAGNOSTIC                    7.1.6
  612.    1EH       R
  613.    1FH       R
  614. ==============================================================================
  615.  
  616. Key: M  =  Command implementation is mandatory.
  617.      E  =  Command implementation is required for SCSI devices that support 
  618.            device-independent self-configuring software.
  619.      O  =  Command implementation is optional.
  620.      R  =  Operation code is reserved for future standardization.
  621.      V  =  Operation code is available for vendor unique commands.
  622. .pa
  623.  
  624. 11.1 RECEIVE Command
  625.  
  626.      Peripheral Device Type:  Processor Devices
  627.         Operation Code Type:  Optional
  628.              Operation Code:  08H
  629.  
  630.                                   Table 11-2
  631.                                RECEIVE Command
  632.  
  633. ==============================================================================
  634.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  635. Byte |        |        |        |        |        |        |        |        |
  636. ==============================================================================
  637.  0   |                           Operation Code                              | 
  638. -----|-----------------------------------------------------------------------|
  639.  1   | Logical Unit Number      |                  Reserved                  |
  640. -----|-----------------------------------------------------------------------|
  641.  2   |                           Allocation Length (MSB)                     |
  642. -----|-----------------------------------------------------------------------|
  643.  3   |                           Allocation Length                           |
  644. -----|-----------------------------------------------------------------------|
  645.  4   |                           Allocation Length (LSB)                     |
  646. -----|-----------------------------------------------------------------------|
  647.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  648. ==============================================================================
  649.  
  650.   The RECEIVE command (Table 11-2) transfers data from the target to the 
  651. initiator.
  652.  
  653.   The allocation length specifies the number of bytes that the initiator has 
  654. allocated for the returned data.  An allocation length of zero indicates that 
  655. no data shall be transferred.  This condition shall not be considered as an 
  656. error.   Any other value indicates the maximum number of bytes that shall be 
  657. transferred.  The target shall terminate the DATA IN phase when allocation 
  658. length bytes have been transferred or when all available data have been 
  659. transferred to the initiator, whichever is less.
  660. .pa
  661.  
  662. 11.2 SEND Command
  663.  
  664.      Peripheral Device Type:  Processor Devices
  665.         Operation Code Type:  Mandatory
  666.              Operation Code:  0AH
  667.  
  668.                                   Table 11-3
  669.                                  SEND Command
  670.  
  671. ==============================================================================
  672.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  673. Byte |        |        |        |        |        |        |        |        |
  674. ==============================================================================
  675.  0   |                           Operation Code                              | 
  676. -----|-----------------------------------------------------------------------|
  677.  1   | Logical Unit Number      |                  Reserved                  |
  678. -----|-----------------------------------------------------------------------|
  679.  2   |                           Transfer Length (MSB)                       |
  680. -----|-----------------------------------------------------------------------|
  681.  3   |                           Transfer Length                             |
  682. -----|-----------------------------------------------------------------------|
  683.  4   |                           Transfer Length (LSB)                       |
  684. -----|-----------------------------------------------------------------------|
  685.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  686. ==============================================================================
  687.  
  688.   The SEND command (Table 11-3) transfers data from the initiator to the 
  689. target.
  690.  
  691.   The transfer length specifies the length in bytes of data that shall be sent 
  692. during the DATA OUT phase.  A transfer length of zero indicates that no data 
  693. shall be sent.  This condition shall not be considered as an error.
  694. .pa
  695.  
  696. 
  697. .fo Section 12                           #
  698. 12. Command Descriptions for Write-Once Read-Multiple Devices
  699.  
  700. 12.1 Group 0 Commands for Write-Once Read-Multiple Devices.  The Group 0 
  701. commands for write-once read-multiple devices shall be as shown in Table 12-1.
  702.  
  703.                                   Table 12-1
  704.             Group 0 Commands for Write-Once Read-Multiple Devices
  705.  
  706. ==============================================================================
  707. Operation
  708.   Code      Type   Command Name                       Section
  709. ------------------------------------------------------------------------------
  710.    00H       O     TEST UNIT READY                    7.1.1
  711.    01H       O     REZERO UNIT                        8.1.1
  712.    02H       V
  713.    03H       M     REQUEST SENSE                      7.1.2
  714.    04H       R
  715.    05H       V
  716.    06H       V
  717.    07H       O     REASSIGN BLOCKS                    8.1.3
  718.    08H       O     READ                               12.1.1
  719.    09H       V
  720.    0AH       O     WRITE                              12.1.2
  721.    0BH       O     SEEK                               8.1.6
  722.    0CH       V
  723.    0DH       V
  724.    0EH       V
  725.    0FH       V
  726.    10H       V
  727.    11H       V
  728.    12H       E     INQUIRY                            7.1.3
  729.    13H       V
  730.    14H       V
  731.    15H       O     MODE SELECT                        12.1.3
  732.    16H       O     RESERVE                            8.1.8
  733.    17H       O     RELEASE                            8.1.9
  734.    18H       O     COPY                               7.1.4
  735.    19H       V
  736.    1AH       O     MODE SENSE                         12.1.4
  737.    1BH       O     START/STOP UNIT                    8.1.11
  738.    1CH       O     RECEIVE DIAGNOSTIC RESULTS         7.1.5
  739.    1DH       O     SEND DIAGNOSTIC                    7.1.6
  740.    1EH       O     PREVENT/ALLOW MEDIUM REMOVAL       8.1.12
  741.    1FH       R
  742. ==============================================================================
  743.  
  744. Key: M  =  Command implementation is mandatory.
  745.      E  =  Command implementation is required for SCSI devices that support 
  746.            device-independent self-configuring software.
  747.      O  =  Command implementation is optional.
  748.      R  =  Operation code is reserved for future standardization.
  749.      V  =  Operation code is available for vendor unique commands.
  750. .pa
  751.  
  752. 12.1.1 READ Command
  753.  
  754.      Peripheral Device Type:  Write-Once Read-Multiple and
  755.                               Read-Only Direct Access
  756.         Operation Code Type:  Optional
  757.              Operation Code:  08H
  758.  
  759.                                   Table 12-2
  760.                                  READ Command
  761.  
  762. ==============================================================================
  763.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  764. Byte |        |        |        |        |        |        |        |        |
  765. ==============================================================================
  766.  0   |                           Operation Code                              | 
  767. -----|-----------------------------------------------------------------------|
  768.  1   | Logical Unit Number      |Logical Block Address (MSB)                 |
  769. -----|-----------------------------------------------------------------------|
  770.  2   |                           Logical Block Address                       |
  771. -----|-----------------------------------------------------------------------|
  772.  3   |                           Logical Block Address (LSB)                 |
  773. -----|-----------------------------------------------------------------------|
  774.  4   |                           Transfer Length                             |
  775. -----|-----------------------------------------------------------------------|
  776.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  777. ==============================================================================
  778.  
  779.   The READ command (Table 12-2) requests that the target transfer data to the 
  780. initiator.
  781.  
  782.   The logical block address specifies the logical block at which the read 
  783. operation shall begin.
  784.  
  785.   The transfer length specifies the number of contiguous logical blocks of 
  786. data to be transferred.  A Transfer Length of zero indicates that 256 logical 
  787. blocks shall be transferred.  Any other value indicates the number of logical 
  788. blocks that shall be transferred.
  789.  
  790.   This command shall be terminated with a status of RESERVATION CONFLICT if 
  791. any reservation access conflict (see 8.1.8) exists and no data shall be 
  792. transferred.
  793.  
  794.   If any of the following conditions occur, this command shall be terminated 
  795. with a CHECK CONDITION status, and if extended sense is implemented, the sense 
  796. key shall be set as indicated in the following table.  This table does not 
  797. provide an exhaustive enumeration of all conditions that may cause the CHECK 
  798. CONDITION status.
  799. .pa
  800.  
  801. Condition                                         Sense Key
  802. ----------------------------------------------    ----------------------------
  803. Invalid logical block address                     ILLEGAL REQUEST (see note 1)
  804.  
  805. Target reset or medium change since the
  806. last command from this initiator                  UNIT ATTENTION
  807.  
  808. Unrecoverable read error                          MEDIUM ERROR
  809.  
  810. Overrun or other error that might 
  811. be resolved by repeating the command              ABORTED COMMAND
  812.  
  813. Attempt to read a blank or previously
  814. unwritten block                                   BLANK CHECK (see note 2)
  815.  
  816. NOTES:
  817.  (1) The extended sense information bytes shall be set to the logical block 
  818. address of the first invalid address.
  819.  
  820. (2) The extended sense information bytes shall be set to the logical block 
  821. address of the first blank block encountered.  The data read up to that block 
  822. shall be transferred. 
  823.  
  824. 12.1.2 WRITE Command
  825.  
  826.      Peripheral Device Type:  Write-Once Read-Multiple
  827.         Operation Code Type:  Optional
  828.              Operation Code:  0AH
  829.  
  830.                                   Table 12-3
  831.                                 WRITE Command
  832.  
  833. ==============================================================================
  834.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  835. Byte |        |        |        |        |        |        |        |        |
  836. ==============================================================================
  837.  0   |                           Operation Code                              | 
  838. -----|-----------------------------------------------------------------------|
  839.  1   | Logical Unit Number      |Logical Block Address (MSB)                 |
  840. -----|-----------------------------------------------------------------------|
  841.  2   |                           Logical Block Address                       |
  842. -----|-----------------------------------------------------------------------|
  843.  3   |                           Logical Block Address (LSB)                 |
  844. -----|-----------------------------------------------------------------------|
  845.  4   |                           Transfer Length                             |
  846. -----|-----------------------------------------------------------------------|
  847.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  848. ==============================================================================
  849.  
  850.   The WRITE command (Table 12-3) requests that the target write the data 
  851. transferred from the initiator to the medium.
  852.  
  853.   The logical block address specifies the logical block at which the write 
  854. operation shall begin.
  855.  
  856.   The transfer length specifies the number of contiguous logical blocks of 
  857.  
  858. data that shall be written.  A transfer length of zero indicates that 256 
  859. logical blocks shall be written.  Any other value indicates the number of 
  860. logical blocks that shall be written.
  861.  
  862.   This command shall be terminated with a status of RESERVATION CONFLICT if 
  863. any reservation access conflict (see 8.1.8) exists and no data shall be 
  864. written.
  865.  
  866.   If any of the following conditions occur, this command shall be terminated 
  867. with a CHECK CONDITION status, and if extended sense is implemented, the sense 
  868. key shall be set as indicated in the following table.  This table does not 
  869. provide an exhaustive enumeration of all conditions that may cause the CHECK 
  870. CONDITION status.
  871.  
  872. Condition                                         Sense Key
  873. ----------------------------------------------    ----------------------------
  874. Invalid logical block address                     ILLEGAL REQUEST (see note 1)
  875.  
  876. Target reset or medium change since the
  877. last command from this initiator                  UNIT ATTENTION
  878.  
  879. Overrun or other error that might
  880. be resolved by repeating the command              ABORTED COMMAND
  881.  
  882. Attempt to write a previously
  883. written block and blank checking is
  884. enabled (see 12.1.3)                              BLANK CHECK (see note 2)
  885.  
  886. NOTES:
  887.   (1) The extended sense information bytes shall be set to the logical Block 
  888. Address of the first invalid address.
  889.  
  890.   (2) The extended sense information bytes shall be set to the logical block 
  891. address of the first non-blank block encountered.
  892. .pa
  893.  
  894. 12.1.3 MODE SELECT Command
  895.  
  896.      Peripheral Device Type:  Write-Once Read-Multiple and
  897.                               Read-Only Direct Access
  898.         Operation Code Type:  Optional
  899.              Operation Code:  15H
  900.  
  901.                                   Table 12-4
  902.                              MODE SELECT Command
  903.  
  904. ==============================================================================
  905.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  906. Byte |        |        |        |        |        |        |        |        |
  907. ==============================================================================
  908.  0   |                           Operation Code                              | 
  909. -----|-----------------------------------------------------------------------|
  910.  1   | Logical Unit Number      |                  Reserved                  |
  911. -----|-----------------------------------------------------------------------|
  912.  2   |                           Reserved                                    |
  913. -----|-----------------------------------------------------------------------|
  914.  3   |                           Reserved                                    |
  915. -----|-----------------------------------------------------------------------|
  916.  4   |                           Parameter List Length                       |
  917. -----|-----------------------------------------------------------------------|
  918.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  919. ==============================================================================
  920.  
  921.   The MODE SELECT command (Table 12-4) provides a means for the initiator to 
  922. specify medium, logical unit, or peripheral device parameters to the target.
  923.  
  924.   The parameter list length specifies the length in bytes of the MODE SELECT 
  925. parameter list that shall be transferred from the initiator to the target.  A 
  926. parameter list length  of zero indicates that no data shall be transferred. 
  927. This condition shall not be considered as an error.
  928.  
  929.   The MODE SELECT parameter list (Table 12-5) contains a four-byte header, 
  930. followed by zero or more eight-byte block descriptors, followed by the vendor 
  931. unique parameters, if any.
  932. .pa
  933.  
  934.                                   Table 12-5
  935.                           MODE SELECT Parameter List
  936.  
  937. ==============================================================================
  938.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  939. Byte |        |        |        |        |        |        |        |        |
  940. ==============================================================================
  941.  0   |                           Reserved                                    |
  942. -----|-----------------------------------------------------------------------|
  943.  1   |                           Reserved                                    |
  944. -----|-----------------------------------------------------------------------|
  945.  2   |                           Reserved                           |  EBC   |
  946. -----|-----------------------------------------------------------------------|
  947.  3   |                           Block Descriptor Length                     |
  948. ==============================================================================
  949.      |                        Block Descriptor(s)                            |
  950. ==============================================================================
  951.  0   |                           Reserved                                    |
  952. -----|-----------------------------------------------------------------------|
  953.  1   |                           Number of Blocks (MSB)                      |
  954. -----|-----------------------------------------------------------------------|
  955.  2   |                           Number of Blocks                            |
  956. -----|-----------------------------------------------------------------------|
  957.  3   |                           Number of Blocks (LSB)                      |
  958. -----|-----------------------------------------------------------------------|
  959.  4   |                           Reserved                                    |
  960. -----|-----------------------------------------------------------------------|
  961.  5   |                           Block Length (MSB)                          |
  962. -----|-----------------------------------------------------------------------|
  963.  6   |                           Block Length                                |
  964. -----|-----------------------------------------------------------------------|
  965.  7   |                           Block Length (LSB)                          |
  966. ==============================================================================
  967.      |                        Vendor Unique Parameter(s)                     |
  968. ==============================================================================
  969. 0 _ n|                           Vendor Unique                               |
  970.      |                           Parameter Byte(s)                           |
  971. ==============================================================================
  972.  
  973.   An enable blank check (EBC) bit of zero disables blank checking of the 
  974. medium during write operations.  An EBC bit of one enables blank checking.  
  975. If a non-blank block is found during a write operation, the command shall be 
  976. terminated with a CHECK CONDITION status and the sense key shall be set to 
  977. BLANK CHECK.  For read-only direct-access devices, the EBC bit is reserved.
  978.  
  979.   The block descriptor length specifies the length in bytes of all the block 
  980. descriptors.  It is equal to the number of block descriptors times eight and 
  981. does not include the vendor unique parameters, if any.  A block descriptor 
  982. length of zero indicates that no block descriptors shall be included in the 
  983. parameter list.  This condition shall not be considered as an error.
  984.  
  985.   Each block descriptor specifies the medium characteristics for all or part 
  986. of a logical unit.  Each block descriptor contains a number of blocks and a 
  987. block length.  The number of blocks field specifies the number of logical 
  988. blocks to be formatted with the block length specified in the block 
  989. descriptor.  The block length field specifies the length in bytes of the 
  990.  
  991. logical block to be formatted.
  992.  
  993. 12.1.4 MODE SENSE Command
  994.  
  995.      Peripheral Device Type:  Write-Once Read-Multiple and
  996.                               Read-Only Direct Access
  997.         Operation Code Type:  Optional
  998.              Operation Code:  1AH
  999.  
  1000.                                   Table 12-6
  1001.                               MODE SENSE Command
  1002.  
  1003. ==============================================================================
  1004.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  1005. Byte |        |        |        |        |        |        |        |        |
  1006. ==============================================================================
  1007.  0   |                           Operation Code                              | 
  1008. -----|-----------------------------------------------------------------------|
  1009.  1   | Logical Unit Number      |                  Reserved                  |
  1010. -----|-----------------------------------------------------------------------|
  1011.  2   |                           Reserved                                    |
  1012. -----|-----------------------------------------------------------------------|
  1013.  3   |                           Reserved                                    |
  1014. -----|-----------------------------------------------------------------------|
  1015.  4   |                           Allocation Length                           |
  1016. -----|-----------------------------------------------------------------------|
  1017.  5   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  1018. ==============================================================================
  1019.  
  1020.   The MODE SENSE command (Table 12-6) provides a means for a target to report 
  1021. its medium, logical unit, or peripheral device parameters to the initiator.  
  1022. It is a complementary command to the MODE SELECT command for support of medium 
  1023. that may contain multiple block lengths.
  1024.  
  1025.   The allocation length specifies the number of bytes that the initiator has 
  1026. allocated for returned MODE SENSE Data.  An allocation length of zero 
  1027. indicates that no MODE SENSE data shall be transferred.  This condition shall 
  1028. not be considered as an error.  Any other value indicates the maximum number 
  1029. of bytes that shall be transferred.  The target shall terminate the DATA IN 
  1030. phase when allocation length bytes have been transferred or when all available 
  1031. MODE SENSE data have been transferred to the initiator, whichever is less.
  1032.  
  1033.   The MODE SENSE data (Table 12-7) contains a four-byte header, followed by 
  1034. zero or more eight-byte block descriptors, followed by the vendor unique 
  1035. parameters, if any.
  1036. .pa
  1037.  
  1038.                                   Table 12-7
  1039.                                MODE SENSE Data
  1040.  
  1041. ==============================================================================
  1042.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  1043. Byte |        |        |        |        |        |        |        |        |
  1044. ==============================================================================
  1045.  0   |                           Sense Data Length                           |
  1046. -----|-----------------------------------------------------------------------|
  1047.  1   |                           Medium Type                                 |
  1048. -----|-----------------------------------------------------------------------|
  1049.  2   |  WP    |                  Reserved                           |  EBC   |
  1050. -----|-----------------------------------------------------------------------|
  1051.  3   |                           Block Descriptor Length                     |
  1052. ==============================================================================
  1053.      |                        Block Descriptor(s)                            |
  1054. ==============================================================================
  1055.  0   |                           Reserved                                    |
  1056. -----|-----------------------------------------------------------------------|
  1057.  1   |                           Number of Blocks (MSB)                      |
  1058. -----|-----------------------------------------------------------------------|
  1059.  2   |                           Number of Blocks                            |
  1060. -----|-----------------------------------------------------------------------|
  1061.  3   |                           Number of Blocks (LSB)                      |
  1062. -----|-----------------------------------------------------------------------|
  1063.  4   |                           Reserved                                    |
  1064. -----|-----------------------------------------------------------------------|
  1065.  5   |                           Block Length (MSB)                          |
  1066. -----|-----------------------------------------------------------------------|
  1067.  6   |                           Block Length                                |
  1068. -----|-----------------------------------------------------------------------|
  1069.  7   |                           Block Length (LSB)                          |
  1070. ==============================================================================
  1071.      |                        Vendor Unique Parameter(s)                     |
  1072. ==============================================================================
  1073. 0 _ n|                           Vendor Unique                               |
  1074.      |                           Parameter Byte(s)                           |
  1075. ==============================================================================
  1076.  
  1077.   The sense data length specifies the length in bytes of the following MODE 
  1078. SENSE data that is available to be transferred during the DATA IN phase.  The 
  1079. sense data length does not include itself.
  1080.  
  1081.   Code values for the medium type field shall be assigned as follows:
  1082.  
  1083.    00H        Default (only one medium type supported)
  1084.    01H _ 7FH  Reserved
  1085.    80H _ FFH  Vendor unique
  1086.  
  1087.   An enable blank check (EBC) bit of zero indicates that blank checking of the 
  1088. medium during write operations is disabled.  An EBC bit of one indicates that 
  1089. blank checking during write operations is enabled.  For read-only direct-
  1090. access devices, the EBC bit is reserved.
  1091.  
  1092.   A write protected (WP) bit of zero indicates that the medium is write 
  1093. enabled.  A WP bit of one indicates that the medium is write protected.  For 
  1094.  
  1095. read-only direct-access devices, the WP bit is reserved.
  1096.  
  1097.   The block descriptor length specifies the length in bytes of all the block 
  1098. descriptors.  It is equal to the number of block descriptors times eight and 
  1099. does not include the vendor unique parameters, if any.  A block descriptor 
  1100. length of zero indicates that no block descriptors shall be included in the 
  1101. parameter list.  This condition shall not be considered as an error.
  1102.  
  1103.   Each block descriptor specifies the medium characteristics for all or part 
  1104. of a logical unit.  Each block descriptor contains a number of blocks and a 
  1105. block length.
  1106.  
  1107.   The number of blocks field indicates the number of logical blocks that have 
  1108. the block length specified in the block descriptor.  The block length field 
  1109. indicates the length in bytes of each logical block.
  1110. .pa ??
  1111.  
  1112. 12.2 Group 1 Commands for Write-Once Read-Multiple Devices.  The Group 1 
  1113. commands for write-once read-multiple devices shall be as shown in Table 12-8.
  1114.  
  1115.                                   Table 12-8
  1116.             Group 1 Commands for Write-Once Read-Multiple Devices
  1117.  
  1118. ==============================================================================
  1119. Operation
  1120.   Code      Type   Command Name                       Section
  1121. ------------------------------------------------------------------------------
  1122.    20H       V
  1123.    21H       V
  1124.    22H       V
  1125.    23H       V
  1126.    24H       V
  1127.    25H       E     READ CAPACITY                      8.2.1
  1128.    26H       V
  1129.    27H       V
  1130.    28H       M     READ                               12.2.1
  1131.    29H       V
  1132.    2AH       M     WRITE                              12.2.2
  1133.    2BH       O     SEEK                               8.2.4
  1134.    2CH       V
  1135.    2DH       V
  1136.    2EH       O     WRITE AND VERIFY                   12.2.3
  1137.    2FH       O     VERIFY                             12.2.4
  1138.    30H       O     SEARCH DATA HIGH                   8.2.7.1
  1139.    31H       O     SEARCH DATA EQUAL                  8.2.7.2
  1140.    32H       O     SEARCH DATA LOW                    8.2.7.3
  1141.    33H       O     SET LIMITS                         8.2.8
  1142.    34H       R
  1143.    35H       R
  1144.    36H       R
  1145.    37H       R
  1146.    38H       R
  1147.    39H       O     COMPARE                            7.2.1
  1148.    3AH       O     COPY AND VERIFY                    7.2.2
  1149.    3BH       R
  1150.    3CH       R
  1151.    3DH       R
  1152.    3EH       R
  1153.    3FH       R
  1154. ==============================================================================
  1155.  
  1156. Key: M  =  Command implementation is mandatory.
  1157.      E  =  Command implementation is required for SCSI devices that support 
  1158.            device-independent self-configuring software.
  1159.      O  =  Command implementation is optional.
  1160.      R  =  Operation code is reserved for future standardization.
  1161.      V  =  Operation code is available for vendor unique commands.
  1162. .pa
  1163.  
  1164. 12.2.1 READ Command
  1165.  
  1166.      Peripheral Device Type:  Write-Once Read-Multiple and
  1167.                               Read-Only Direct Access
  1168.         Operation Code Type:  Mandatory
  1169.              Operation Code:  28H
  1170.  
  1171.                                   Table 12-9
  1172.                                  READ Command
  1173.  
  1174. ==============================================================================
  1175.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  1176. Byte |        |        |        |        |        |        |        |        |
  1177. ==============================================================================
  1178.  0   |                           Operation Code                              | 
  1179. -----|-----------------------------------------------------------------------|
  1180.  1   | Logical Unit Number      |             Reserved              | RelAdr |
  1181. -----|-----------------------------------------------------------------------|
  1182.  2   |                           Logical Block Address (MSB)                 |
  1183. -----|-----------------------------------------------------------------------|
  1184.  3   |                           Logical Block Address                       |
  1185. -----|-----------------------------------------------------------------------|
  1186.  4   |                           Logical Block Address                       |
  1187. -----|-----------------------------------------------------------------------|
  1188.  5   |                           Logical Block Address (LSB)                 |
  1189. -----|-----------------------------------------------------------------------|
  1190.  6   |                           Reserved                                    |
  1191. -----|-----------------------------------------------------------------------|
  1192.  7   |                           Transfer Length (MSB)                       |
  1193. -----|-----------------------------------------------------------------------|
  1194.  8   |                           Transfer Length (LSB)                       |
  1195. -----|-----------------------------------------------------------------------|
  1196.  9   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  1197. ==============================================================================
  1198.  
  1199.   The READ command (Table 12-9) requests that the target transfer data to the 
  1200. initiator from the medium.
  1201.  
  1202.   The logical block address specifies the logical block at which the read 
  1203. operation shall begin.
  1204.  
  1205.   The transfer length specifies the number of contiguous logical blocks of 
  1206. data that shall be transferred.  A transfer length of zero indicates that no 
  1207. data shall be transferred.  This condition shall not be considered as an 
  1208. error.  Any other value indicates the number of logical blocks that shall be 
  1209. transferred.
  1210.  
  1211.   This command shall be terminated with a status of RESERVATION CONFLICT if 
  1212. any reservation access conflict (see 8.1.8) exists and no data shall be 
  1213. transferred.
  1214.  
  1215.   If any of the following conditions occur, this command shall be terminated 
  1216. with a CHECK CONDITION status and, if extended sense is implemented, the sense 
  1217. key shall be set as indicated in the following table.  This table does not 
  1218. provide an exhaustive enumeration of all conditions that may cause the CHECK 
  1219. CONDITION status.
  1220.  
  1221.  
  1222. Condition                                         Sense Key
  1223. ----------------------------------------------    ----------------------------
  1224. Invalid logical block address                     ILLEGAL REQUEST (see note 1)
  1225.  
  1226. Target reset or medium change since the
  1227. last command from this initiator                  UNIT ATTENTION
  1228.  
  1229. Overrun or other error that might
  1230. be resolved by repeating the command              ABORTED COMMAND
  1231.  
  1232. Attempt to read a blank or previously
  1233. unwritten block                                   BLANK CHECK (see note 2)
  1234.  
  1235. NOTES:
  1236.   (1) The extended sense information bytes shall be set to the logical block 
  1237. address of the first invalid address.
  1238.  
  1239.   (2) The extended sense information bytes shall be set to the logical block 
  1240. address of the first blank block encountered.  The data read up to that block 
  1241. shall be transferred. 
  1242.  
  1243. 12.2.2 WRITE Command
  1244.  
  1245.      Peripheral Device Type:  Write-Once Read-Multiple
  1246.         Operation Code Type:  Mandatory
  1247.              Operation Code:  2AH
  1248.  
  1249.                                  Table 12-10
  1250.                                 WRITE Command
  1251.  
  1252. ==============================================================================
  1253.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  1254. Byte |        |        |        |        |        |        |        |        |
  1255. ==============================================================================
  1256.  0   |                           Operation Code                              | 
  1257. -----|-----------------------------------------------------------------------|
  1258.  1   | Logical Unit Number      |             Reserved              | RelAdr |
  1259. -----|-----------------------------------------------------------------------|
  1260.  2   |                           Logical Block Address (MSB)                 |
  1261. -----|-----------------------------------------------------------------------|
  1262.  3   |                           Logical Block Address                       |
  1263. -----|-----------------------------------------------------------------------|
  1264.  4   |                           Logical Block Address                       |
  1265. -----|-----------------------------------------------------------------------|
  1266.  5   |                           Logical Block Address (LSB)                 |
  1267. -----|-----------------------------------------------------------------------|
  1268.  6   |                           Reserved                                    |
  1269. -----|-----------------------------------------------------------------------|
  1270.  7   |                           Transfer Length (MSB)                       |
  1271. -----|-----------------------------------------------------------------------|
  1272.  8   |                           Transfer Length (LSB)                       |
  1273. -----|-----------------------------------------------------------------------|
  1274.  9   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  1275. ==============================================================================
  1276.  
  1277.  
  1278.   The WRITE command (Table 12-10) requests that the target write the data 
  1279. transferred from the initiator to the medium.
  1280.  
  1281.   The logical block address specifies the logical block at which the write 
  1282. operation shall begin.
  1283.  
  1284.   The transfer length specifies the number of contiguous logical blocks of 
  1285. data that shall be transferred.  A transfer length of zero indicates that no 
  1286. data shall be transferred.  This condition shall not be considered as an 
  1287. error and no data shall be written.  Any other value indicates the number of 
  1288. logical blocks that shall be transferred.
  1289.  
  1290.   This command shall be terminated with a status of RESERVATION CONFLICT if 
  1291. any reservation access conflict (see 8.1.8) exists and no data shall be 
  1292. written.
  1293.  
  1294.   If any of the following conditions occur, this command shall be terminated 
  1295. with a CHECK CONDITION status and, if extended sense is implemented, the sense 
  1296. key shall be set as indicated in the following table.  This table does not 
  1297. provide an exhaustive enumeration of all conditions that may cause the CHECK 
  1298. CONDITION status.
  1299.  
  1300. Condition                                         Sense Key
  1301. ----------------------------------------------    ----------------------------
  1302. Invalid logical block address                     ILLEGAL REQUEST (see note 1)
  1303.  
  1304. Target reset or medium change since the
  1305. last command from this initiator                  UNIT ATTENTION
  1306.  
  1307. Overrun or other error that might
  1308. be resolved by repeating the command              ABORTED COMMAND
  1309.  
  1310. Attempt to write a previously
  1311. written block and blank checking is
  1312. enabled (see 12.1.3)                              BLANK CHECK (see note 2)
  1313.  
  1314. NOTES:
  1315.   (1) The extended sense information bytes shall be set to the logical block 
  1316. address of the first invalid address.
  1317.  
  1318.   (2) The extended sense information bytes shall be set to the logical block 
  1319. address of the first non-blank block encountered.
  1320. .pa
  1321.  
  1322. 12.2.3 WRITE AND VERIFY Command
  1323.  
  1324.      Peripheral Device Type:  Write-Once Read-Multiple
  1325.         Operation Code Type:  Optional
  1326.              Operation Code:  2EH
  1327.  
  1328.                                  Table 12-11
  1329.                            WRITE AND VERIFY Command
  1330.  
  1331. ==============================================================================
  1332.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  1333. Byte |        |        |        |        |        |        |        |        |
  1334. ==============================================================================
  1335.  0   |                           Operation Code                              | 
  1336. -----|-----------------------------------------------------------------------|
  1337.  1   | Logical Unit Number      |         Reserved         | BytChk | RelAdr |
  1338. -----|-----------------------------------------------------------------------|
  1339.  2   |                           Logical Block Address (MSB)                 |
  1340. -----|-----------------------------------------------------------------------|
  1341.  3   |                           Logical Block Address                       |
  1342. -----|-----------------------------------------------------------------------|
  1343.  4   |                           Logical Block Address                       |
  1344. -----|-----------------------------------------------------------------------|
  1345.  5   |                           Logical Block Address (LSB)                 |
  1346. -----|-----------------------------------------------------------------------|
  1347.  6   |                           Reserved                                    |
  1348. -----|-----------------------------------------------------------------------|
  1349.  7   |                           Transfer Length (MSB)                       |
  1350. -----|-----------------------------------------------------------------------|
  1351.  8   |                           Transfer Length (LSB)                       |
  1352. -----|-----------------------------------------------------------------------|
  1353.  9   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  1354. ==============================================================================
  1355.  
  1356.   The WRITE AND VERIFY command (Table 12-11) requests that the target write 
  1357. the data transferred from the initiator to the medium and then verify that the 
  1358. data is correctly written.
  1359.  
  1360.   A byte check (BytChk) bit of zero causes the verification to be simply a 
  1361. medium verification (CRC, ECC, etc).  A BytChk bit of one causes a byte-by-
  1362. byte compare of data written to the peripheral device and the data transferred 
  1363. >From the initiator.  If the compare is unsuccessful, the command shall be 
  1364. terminated with a CHECK CONDITION status and the sense key shall be set to 
  1365. MISCOMPARE.
  1366.  
  1367.   The logical block address specifies the logical block at which the write 
  1368. operation shall begin.
  1369.  
  1370.   The transfer length specifies the number of contiguous logical blocks of 
  1371. data that shall be transferred.  A transfer length of zero indicates that no 
  1372. logical blocks shall be transferred.  This condition shall not be considered 
  1373. as an error and no data shall be written.  Any other value indicates the 
  1374. number of logical blocks that shall be transferred.
  1375. .pa
  1376.  
  1377. 12.2.4 VERIFY Command
  1378.  
  1379.      Peripheral Device Type:  Write-Once Read-Multiple and
  1380.                               Read-Only Direct Access
  1381.         Operation Code Type:  Optional
  1382.              Operation Code:  2FH
  1383.  
  1384.                                  Table 12-12
  1385.                                 VERIFY Command
  1386.  
  1387. ==============================================================================
  1388.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    | 
  1389. Byte |        |        |        |        |        |        |        |        |
  1390. ==============================================================================
  1391.  0   |                           Operation Code                              | 
  1392. -----|-----------------------------------------------------------------------|
  1393.  1   | Logical Unit Number      |    Reserved     | BlkVfy | BytChk | RelAdr |
  1394. -----|-----------------------------------------------------------------------|
  1395.  2   |                           Logical Block Address (MSB)                 |
  1396. -----|-----------------------------------------------------------------------|
  1397.  3   |                           Logical Block Address                       |
  1398. -----|-----------------------------------------------------------------------|
  1399.  4   |                           Logical Block Address                       |
  1400. -----|-----------------------------------------------------------------------|
  1401.  5   |                           Logical Block Address (LSB)                 |
  1402. -----|-----------------------------------------------------------------------|
  1403.  6   |                           Reserved                                    |
  1404. -----|-----------------------------------------------------------------------|
  1405.  7   |                           Verification Length (MSB)                   |
  1406. -----|-----------------------------------------------------------------------|
  1407.  8   |                           Verification Length (LSB)                   |
  1408. -----|-----------------------------------------------------------------------|
  1409.  9   | Vendor Unique   |         Reserved                  |  Flag  |  Link  |
  1410. ==============================================================================
  1411.  
  1412.   The VERIFY command (Table 12-12) requests that the target verify the data on 
  1413. the medium.
  1414.  
  1415.   A byte check (BytChk) bit of zero causes the verification to be simply a 
  1416. medium verification (CRC, ECC, etc).  A BytChk bit of one causes a byte-by-
  1417. byte compare of the data on the medium and the data transferred from the 
  1418. initiator.  The data shall be transferred as it would be for a WRITE command.  
  1419. If the compare is unsuccessful, the command shall be terminated with a CHECK 
  1420. CONDITION status and the sense key shall be set to MISCOMPARE.
  1421.  
  1422.   A blank verify (BlkVfy) bit of one causes a verification that the blocks are 
  1423. blank.
  1424.  
  1425.   The logical block address specifies the logical block at which the verify 
  1426. operation shall begin.
  1427.  
  1428.   The verification length specifies the number of contiguous logical blocks of 
  1429. data or blanks that shall be verified.  A verification length of zero 
  1430. indicates that no logical blocks shall be verified.  This condition shall not 
  1431. be considered as an error.  Any other value indicates the number of logical 
  1432. blocks that shall be verified.
  1433.  
  1434.  
  1435. 
  1436. .fo Section 13                           #
  1437. 13. Command Descriptions for Read-Only Direct-Access Devices
  1438.  
  1439. 13.1 Group 0 Commands for Read-Only Direct-Access Devices.  The Group 0 
  1440. commands for read-only direct-access devices shall be as shown in Table 13-1.
  1441.  
  1442.                                   Table 13-1
  1443.              Group 0 Commands for Read-Only Direct-Access Devices
  1444.  
  1445. ==============================================================================
  1446. Operation
  1447.   Code      Type   Command Name                       Section
  1448. ------------------------------------------------------------------------------
  1449.    00H       O     TEST UNIT READY                    7.1.1
  1450.    01H       O     REZERO UNIT                        8.1.1
  1451.    02H       V
  1452.    03H       M     REQUEST SENSE                      7.1.2
  1453.    04H       R
  1454.    05H       V
  1455.    06H       V
  1456.    07H       R
  1457.    08H       O     READ                               12.1.1
  1458.    09H       V
  1459.    0AH       R
  1460.    0BH       O     SEEK                               8.1.6
  1461.    0CH       V
  1462.    0DH       V
  1463.    0EH       V
  1464.    0FH       V
  1465.    10H       V
  1466.    11H       V
  1467.    12H       E     INQUIRY                            7.1.3
  1468.    13H       V
  1469.    14H       V
  1470.    15H       O     MODE SELECT                        12.1.3
  1471.    16H       O     RESERVE                            8.1.8
  1472.    17H       O     RELEASE                            8.1.9
  1473.    18H       O     COPY                               7.1.4
  1474.    19H       V
  1475.    1AH       O     MODE SENSE                         12.1.4
  1476.    1BH       O     START/STOP UNIT                    8.1.11
  1477.    1CH       O     RECEIVE DIAGNOSTIC RESULTS         7.1.5
  1478.    1DH       O     SEND DIAGNOSTIC                    7.1.6
  1479.    1EH       O     PREVENT/ALLOW MEDIUM REMOVAL       8.1.12
  1480.    1FH       R
  1481. ==============================================================================
  1482.  
  1483. Key: M  =  Command implementation is mandatory.
  1484.      E  =  Command implementation is required for SCSI devices that support 
  1485.            device-independent self-configuring software.
  1486.      O  =  Command implementation is optional.
  1487.      R  =  Operation code is reserved for future standardization.
  1488.      V  =  Operation code is available for vendor unique commands.
  1489. .pa
  1490.  
  1491. 13.2 Group 1 Commands for Read-Only Direct-Access Devices.  The Group 1 
  1492. commands for read-only direct-access devices shall be as shown in Table 13-2.
  1493.  
  1494.                                   Table 13-2
  1495.              Group 1 Commands for Read-Only Direct-Access Devices
  1496.  
  1497. ==============================================================================
  1498. Operation
  1499.   Code      Type   Command Name                       Section
  1500. ------------------------------------------------------------------------------
  1501.    20H       V
  1502.    21H       V
  1503.    22H       V
  1504.    23H       V
  1505.    24H       V
  1506.    25H       E     READ CAPACITY                      8.2.1
  1507.    26H       V
  1508.    27H       V
  1509.    28H       M     READ                               12.2.1
  1510.    29H       V
  1511.    2AH       R
  1512.    2BH       O     SEEK                               8.2.4
  1513.    2CH       V
  1514.    2DH       V
  1515.    2EH       R
  1516.    2FH       O     VERIFY                             12.2.4
  1517.    30H       O     SEARCH DATA HIGH                   8.2.7.1
  1518.    31H       O     SEARCH DATA EQUAL                  8.2.7.2
  1519.    32H       O     SEARCH DATA LOW                    8.2.7.3
  1520.    33H       O     SET LIMITS                         8.2.8
  1521.    34H       R
  1522.    35H       R
  1523.    36H       R
  1524.    37H       R
  1525.    38H       R
  1526.    39H       O     COMPARE                            7.2.1
  1527.    3AH       O     COPY AND COMPARE                   7.2.2
  1528.    3BH       R
  1529.    3CH       R
  1530.    3DH       R
  1531.    3EH       R
  1532.    3FH       R
  1533. ==============================================================================
  1534.  
  1535. Key: M  =  Command implementation is mandatory.
  1536.      E  =  Command implementation is required for SCSI devices that support 
  1537.            device-independent self-configuring software.
  1538.      O  =  Command implementation is optional.
  1539.      R  =  Operation code is reserved for future standardization.
  1540.      V  =  Operation code is available for vendor unique commands.
  1541. .pa
  1542.  
  1543. 
  1544. .fo Section 14                           #
  1545. 14. Status 
  1546.  
  1547. A status byte shall be sent from the target to the initiator during the STATUS 
  1548. phase at the termination of each command as specified in Tables 14-1 and 14-2 
  1549. unless the command is cleared by an ABORT message, by a BUS DEVICE RESET 
  1550. message, or by a "hard" RESET condition.
  1551.  
  1552.                                   Table 14-1
  1553.                                  Status Byte 
  1554.  
  1555. ==============================================================================
  1556.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1557. Byte |        |        |        |        |        |        |        |        |
  1558. ==============================================================================
  1559.  0   |Reserved|  Vendor Unique  |        Status Byte Code           |   V    |
  1560. ==============================================================================
  1561.  
  1562.  
  1563.                                   Table 14-2
  1564.                          Status Byte Code Bit Values
  1565.  
  1566. ==============================================================================
  1567.      Bits of Status Byte
  1568. -----------------------------
  1569. 7   6   5   4   3   2   1   0    Status(es) Represented
  1570. ------------------------------------------------------------------------------
  1571. R   V   V   0   0   0   0   V    GOOD
  1572. R   V   V   0   0   0   1   V    CHECK CONDITION
  1573. R   V   V   0   0   1   0   V    CONDITION MET/GOOD
  1574. R   V   V   0   0   1   1   V    Reserved
  1575.  
  1576. R   V   V   0   1   0   0   V    BUSY
  1577. R   V   V   0   1   0   1   V    Reserved
  1578. R   V   V   0   1   1   0   V    Reserved
  1579. R   V   V   0   1   1   1   V    Reserved
  1580.  
  1581. R   V   V   1   0   0   0   V    INTERMEDIATE/GOOD
  1582. R   V   V   1   0   0   1   V    Reserved
  1583. R   V   V   1   0   1   0   V    INTERMEDIATE/CONDITION MET/GOOD
  1584. R   V   V   1   0   1   1   V    Reserved
  1585.  
  1586. R   V   V   1   1   0   0   V    RESERVATION CONFLICT
  1587. R   V   V   1   1   0   1   V    Reserved
  1588. R   V   V   1   1   1   0   V    Reserved
  1589. R   V   V   1   1   1   1   V    Reserved
  1590. ==============================================================================
  1591.  
  1592. Key: R - Reserved bit
  1593.      V - Vendor unique bit
  1594. .pa
  1595.  
  1596.   A description of the status byte codes is given below:
  1597.  
  1598. GOOD.  This status indicates that the target has successfully completed the 
  1599. command.
  1600.  
  1601. CHECK CONDITION.  Any error, exception, or abnormal condition that causes 
  1602. sense data to be set, shall cause a CHECK CONDITION status.  The REQUEST SENSE 
  1603. command should be issued following a CHECK CONDITION status, to determine the 
  1604. nature of the condition.
  1605.  
  1606. CONDITION MET.  The SEARCH DATA commands shall return this status whenever a 
  1607. search condition is satisfied.  This status does not break a chain of linked 
  1608. commands.  The logical block address of the logical block that satisfies the 
  1609. search may be determined with a REQUEST SENSE command.
  1610.  
  1611. BUSY.  The target is busy.  This status shall be returned whenever a target is 
  1612. unable to accept a command from an initiator.  The normal initiator recovery 
  1613. action is to issue the command again at a later time.
  1614.  
  1615. INTERMEDIATE.  This status shall be returned for every command in a series of 
  1616. linked commands (except the last command), unless an error, exception, or 
  1617. abnormal condition causes a CHECK CONDITION status or a RESERVATION CONFLICT 
  1618. status to be set.  If this status is not returned, the chain of linked 
  1619. commands is broken; no further commands in the series are executed.
  1620.  
  1621. RESERVATION CONFLICT.  This status shall be returned whenever an SCSI device 
  1622. attempts to access a logical unit or an extent within a logical unit that is 
  1623. reserved for that type of access to another SCSI device.
  1624. .pa
  1625.  
  1626. 
  1627.  
  1628.